'''
Python有五个标准的数据类型：

Numbers（数字）
        Python支持四种不同的数字类型：
        ---
            int（有符号整型）
            long（长整型，也可以代表八进制和十六进制）
            float（浮点型）
            complex（复数）

String（字符串）
List（列表）
Tuple（元组）
Dictionary（字典）

'''
from legacy import unichr
from psutil import long

counter = 100
miles = 111.0
name = 'xjl'

print(type(counter))
print(type(miles))
print(type(name))

# 多变量赋值
a = b = c = 0;
print(a)
a, b, c = 0, 3, 2
print(b)

# str  操作
s = "qwert333werwerwerwer"
print(s[2:4], len(s))
print(s[1:4:2], len(s))
print(s[:4], len(s))

# 原数组
'''
元组是另一个数据类型，类似于 List（列表）。
元组用 () 标识。内部元素用逗号隔开。但是元组不能二次赋值，相当于只读列表。
'''
tuple1 = ('xjl', 'lyf', 'sss', 'xhb')

# 打印全部数组
print(tuple1)
# 输出第一数组
print(tuple1[0])
# 截取数组1
print(tuple1[2:4])
# 截取数组2
print(tuple1[2:])
# 打印两遍
print(tuple1 * 2)

# Python 字典
'''
key value 形式的    和redis  的数据结构
'''
# !/usr/bin/python
# -*- coding: UTF-8 -*-

dict1 = {}
dict1['one'] = "This is one"
dict1[2] = "This is two"

tinydict = {'name': 'runoob', 'code': 6734, 'dept': 'sales'}

print(dict1['one'])  # 输出键为'one' 的值
print(dict1[2])  # 输出键为 2 的值
print(tinydict)  # 输出完整的字典
print(tinydict.keys())  # 输出所有键
print(tinydict.values())  # 输出所有值

# 函数使用 ----------------------------------------------------------------
x = '1';

# 将x转换为一个整数
int(x)

# 将x转换为一个长整数
long(22)

# 将x转换到一个浮点数
float(x)

# 创建一个复数
real = 1;
complex()

# 将对象 x 转换为字符串
str(x)

# 将对象 x 转换为表达式字符串
repr(x)

# 用来计算在字符串中的有效Python表达式,并返回一个对象
# ss = "sss"
# eval(ss)

# 将序列 s 转换为一个元组
tup1 = ('physics', 'chemistry', 1997, 2000)
tuple(tup1)

# 将序列 s 转换为一个列表
list(s)

# 转换为可变集合
set(s)

# 创建一个字典。d 必须是一个序列 (key,value)元组。
d = {'Alice': '2341', 'Beth': '9102', 'Cecil': '3258'}
dict(d)

# 转换为不可变集合

frozenset(s)

# 将一个整数转换为一个字符
chr(2)

# 将一个整数转换为Unicode字符
unichr(1)

# 将一个字符转换为它的整数值
ord(x)

# 将一个整数转换为一个十六进制字符串

hex(1)

# 将一个整数转换为一个八进制字符串
oct(222)
